草庐IT

c++ - Win32 : Monitoring for files being created or changed

全部标签

windows - 最好的 win32 编译脚本语言?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。Win32最好的可编译脚本语言是什么?我更喜欢.EXE,因为我不想先在服务器上安装运行时(我的公司通过远程管理很多),但我需要能够通过网络执行NTFS权限和(如果可能)API等操作。有一个小的Perl似乎能够完成大部分工作,但它似乎已经有一段时间没有更新/开发了。我对Lua很感兴趣,但我不知道它是否拥有我需要的一切(并且不想在五十个图书馆站点中搜寻以试图

c++ - 我如何找到 Win32 中的资源泄漏?

运行几个小时后,我的应用程序无法创建新的字体对象:CreateFontIndirect()returnsNULL.我知道如何查找内存泄漏(即使用并行检查器或其他分析器-其中大部分包括泄漏检测)。但是如何定位Win32中的资源泄漏? 最佳答案 为自己准备一份GDIView-这个有用的工具可以显示您的应用程序使用的所有GDI对象,包括字体名称、大小等详细信息。这在过去被证明非常方便。对于Win32应用程序,您可能需要查看WTL框架-它使用轻量级C++类包装GDI对象,为您处理对象删除。 关于

c++ - 为什么 Win32 mutex 这么耗时

我一直在通过C/C++阅读Windows的书。在第8章第215页,作者比较了各种同步机制的性能。而且我发现互斥锁的性能很差。当4个线程同时运行时,它花费了超过23秒用于互斥锁同步。为什么Win32mutex这么耗时?我们什么时候可以使用互斥体?PS:我把测试代码贴在了GitHub:https://gist.github.com/985198感谢您的回复。 最佳答案 Win32中的互斥量是一个内核对象,这意味着每次使用它(Wait、Release)都需要一个系统调用来切换到内核模式并返回到用户模式模式。另外,如果您的线程实际上必须等待

c++ - 如何将 Win32 HRESULT 转换为 int 返回值?

我正在用C++编写Windows控制台应用程序,并希望在成功时返回零,在失败时返回有意义的错误代码(即,S_OK应返回0,而E_OUTOFMEMORY应该返回一个不同于E_FAIL等的返回值)。以下方法可行吗?:intwmain(intargc,wchar_t*argv[]){HRESULThr=DoSomething();return(int)hr;}或者有更好的方法吗?也许是我忘记或找不到的标准Win32API函数或宏? 最佳答案 OP希望返回值为零以指示成功。有些成功代码是非零的,所以...if(SUCCEEDED(hr))r

c++ - 关闭#pragma deprecated 警告的 Win 编译开关是什么?

使用VisualStudio.NET2003C++和wininet.dll我看到很多C4995warningsMoreinfo感谢任何帮助。谢谢。 最佳答案 除了上述答案之外,值得一提的是,仅在有限范围内禁用警告通常是一种很好的做法(如果您将这些编译指示放在头文件中,这一点尤其重要):#pragmawarning(disable:4121)//alignmentofamemberwassensitivetopacking#include#pragmawarning(default:4121)//Restoredefaulthandl

windows - 如何使用 Perl 从 8.3 DOS 路径获取完整的 Win32 路径?

我的问题基本上说明了一切。我得到这个:C:\DOCUME~1\frew\MYDOCU~1\Code\AIRCRA~1\lib\ACD\VALIDA~1.PM我想要这个:C:\DocumentsandSettings\frew\MyDocuments\Code\aircraft_ducting\lib\ACD\Validators.pm我查看了File::Spec::Win32,但似乎没有任何东西可以解决问题。想法?谢谢! 最佳答案 您可以使用Win32::GetLongPathName($path)来自Win32模块。

windows - InnoSetup 在 Mac Parallels 上安装的 Win XP 上找不到 'My Documents'

我一直在尝试帮助用户安装我们的软件。我们的软件设置是使用InnoSetup分发的,他将它安装在装有Parallels和WindowsXP的MacPro上。安装期间,InnoSetup失败并显示:内部错误:无法扩展shell文件夹常量“userdocs”在InnoSetup中,{userdocs}映射到“我的文档”文件夹,并且由于InnoSetup是用Delphi编写的,我假设它使用CSIDL_Personal或CSIDL_MYDOCUMENTS来检索此文件夹,但我不知道如何修复这些位置。有人遇到过这个吗?如果是这样,您知道如何解决吗?谢谢! 最佳答案

windows - 内核调试: Windows 7 hangs at boot time

有时,我会遇到Windows在启动时等待内核调试器被附加的情况。您会看到“Windows正在启动”文本,但尚未看到Logo。如果我现在附加调试器,就会播放Windows7的Logo动画。随后Logo开始闪烁。在此阶段,引导过程不再进行。CPU使用率降至最低。我通常会等待几分钟,但什么也没有发生。这不会一直发生。但是,如果发生这种情况,VM重置将无济于事。我需要使用启动修复来解决这个问题。不幸的是,这需要永远。除了运行启动修复,我还能做什么?提前致谢! 最佳答案 要解决您遇到的问题,您只需在启动过程中按F10。并删除/debug和相关

python - 如何在Windows XP Win32上为python2.6安装pyzmq 2.1.10?

我正在尝试安装pyzmq,在pipy上似乎没有适用于py2.6的Windows二进制文件https://github.com/zeromq/pyzmq/downloads也没有。他们确实有pyzmq2.1.4的MSI,但似乎也不起作用。试过了easy_install-2.6pyzmq这关系到安装pyzmq2.1.10但失败并显示错误Fatal:ZMQdirectorymustbespecifiedonWindowsviasetup.cfgor'pythonsetup.pyconfigure--zmq=/path/to/zeromq2'错误:安装脚本以1退出然后绑easy_install

php - 让 PHP 在 64 位操作系统中访问 32 位 COM 对象

我最近将我的旧家庭服务器系统升级到64位系统(Win7),但在访问PHP中的32位家庭自动化DCOM对象时遇到问题。我正在运行32位Apache,据我所知,32位PHP(我认为没有可用的64位版本)。此设置与我的旧(但有效)设置之间的唯一区别是我运行的是64位Windows7而不是32位。当我重新安装所有内容时,我最初感到困惑的是我无法配置对DCOM对象的访问,因为dcomcnfg.exe没有显示它。过了一会儿我才意识到我必须启动32位版本的dcomcnfg.exe才能看到DCOM对象(mmccomexp.msc/32)。我现在正尝试在PHP中访问这个32位DCOM对象,但它不起作用。